查看原文
其他

计算晶面间距和夹角太复杂?快来试试这个计算小工具(附软件获取方式)

零度君 科学10分钟 2022-10-20


今天是广告时间(划掉)逃......

正经说:这一篇是为了圆一个吹出去的牛......

计算晶面间距和夹角有一些工具软件可用,比如JEMS(收费的),在linux下有个免费的NCEMSS(但是我没有用过)。我们组有正版的JEMS授权,但是悲催的发现这玩意不能运行在windows7及之后的系统上(正版软件受害者+1)......所以很久一段时间我们都是手算(当然是用excel)

后来有天师弟表示这么做太繁琐了......我就吹了一个牛说要写一个方便计算的小工具......

再后来因为JEMS运行的问题被修正了,也就没想起来......结果师弟们都要毕业了......这几天忙里偷闲给稍微搞了一个工具......算是把吹出去的牛圆上吧


1计算任意晶体间距和晶面夹角的方法

通常我们可以使用较为简单的办法计算立方、四方、甚至正交晶系的晶面间距和夹角,但是一旦涉及到单斜、六方甚至三斜晶系的时候......即使是大佬也会吐血......比如:

这里我们还是老规矩,先讲原理......直接摆公式。对于三斜晶系的(hkl)晶面,其晶面间距 dhkl  可以通过如下公式计算:

其中:

其中abcαβγ是晶格参数,分别表示晶胞的三个边长和对应的夹角。对应关系如下图所示。

 

同理,计算晶面夹角也有公式:

其中hkl是晶面指数,d1和d2是两个晶面各自的面间距。

那么我们为什么要用三斜的公式呢?因为三斜晶系是7大晶系中对称性最低的晶系,三斜的公式可以直接套用在任何一个晶系上。所以上述的公式就是计算任意晶体中晶面间距和夹角的通用公式。


2一个简单的计算工具

不过这玩意的计算量大家也都感觉到了......还是交给计算机这个憨憨来做吧

我之前曾经在小木虫上看到过一个输入晶格参数后自动计算晶面间距和夹角的小工具......

经确认!小木虫上共享的Crystal Structure计算三斜晶系时角度不对!

经确认!小木虫上共享的Crystal Structure计算三斜晶系时角度不对!

经确认!小木虫上共享的Crystal Structure计算三斜晶系时角度不对!

重要的话说三遍!

但是这个小工具一次只能计算一个晶面,标定的时候还是不方便,所以我用python做了一个能一次性把低指数晶面全算出来的:

经测试,我写的Crystal Calculator计算是正确的,大家可以放心使用(但是作为一个良好的科研习惯,软件计算前最好还是测试一下是否和已知结果相吻合)

使用起来应该还算简单吧,填好晶格参数后(默认参数是bcc铁的......钢铁的情怀......)点一下Get d-list就可以得到所有低指数晶面按照d值从大到小的列表(按倒空间里d*的话就是从小到大)

填俩晶面指数后点Get theta就可以计算夹角(角度制)

文件下载网址获取方式:

点击下方公众号关注科学10分钟

后台回复关键词:晶体计算工具

即可免费获取下载链接


哦对了,说一下。目前仅在windows10、windows8.1和windows7下测试过:

  • win10应该没有问题

  • win7/8用户可能需要安装Visual C++ Redistributable for Visual Studio 2015

  • win7用户还需要安装KB2533623更新并打上SP1......

  • XP别找我......放弃支持

20220907更新:兼容linux,修正了python脚本在linux系统下不能正常启动的问题

如果以后有时间的话我想会慢慢把这个坑填好吧......今天算是放进去第一铲子土了(当然可能并没有第二铲子了)


免责声明:

本人精力有限,没有时间一一测试计算结果是否正确。初步测试的结果是可靠的,如果各位发现存在计算错误还请反馈给我......


推荐阅读


PS:推荐一个非常好用的科研小程序“测试GO”,专注【材料测试+模拟计算】科研服务,测试狗团队开发,提供同步辐射、球差电镜和常用材料表征,承接第一性原理计算、分子动力学、有限元计算等,有需要的朋友可以点击下方了解详情哦~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存